1. Field of the Invention
The present invention relates to a storage system that stores data across plural storage devices, and more particularly relates to a storage system that provides redundancy of stored data.
2. Description of the Related Art
Systems for processing a large volume of data have been configured to access plural hard disks in parallel for increasing data reading and writing speed when they need to store data across the plural hard disks. Such systems usually employ storage systems that provide data redundancy to prevent data from being lost in case one of hard disks fails. One method for constructing this type of storage system is RAID.
RAID is classified into some versions according to fault tolerance levels or features such as striping used to write data across plural drives simultaneously for increasing access speed, mirroring used to write identical copies of data across plural drives for providing improved reliability compared to writing on a single drive, and data restoration by data error detections. Currently available versions of RAID include RAID 0, which implements striping for increasing access speed, through RAID 5, which adds parity and can restore data even if one disk fails. For constructing a storage system with these versions of RAID, one or a combination of the RAID versions are selected according to the level required by the system.
For example, RAID 1 employs a process called mirroring that uses two physical disks, which form a single virtual disk, with identical copies of data. When data are written on the virtual disk, the data are actually written on the two physical disks at the same time. If the two physical disks have different capacities, the volume of data corresponds to the physical disk having a smaller capacity. When responses reporting successful completion of data writing are sent from both of the disks, the completion of the data writing is reported to the source that sent a request of the data writing. On the other hand, the response is not sent from either one of the disks, if an error is reported to the source of the request. In case one of the physical disks fails, data are read from the other physical disk and written on another disk substituting for the failed disk so as to maintain data redundancy.
RAID 0+1 is a combination of RAID 0 and RAID 1. RAID 0 employs a process called data striping. According to RAID 0, plural physical disks of the same capacity are each divided into slices having the same size, and data are allocated across the slices in accordance with a predetermined allocation priority of the physical disks. Although this process does not provide data redundancy, simultaneous access to plural disks can reduce total access time and thereby improve data reading and writing performances. Raid 0+1, having both features of RAID 0 and RAID 1, employs a process of mirroring each slice of physical disks.
Storage systems using RAID 1 or RAID 0+1 need a controller for executing various operations. If doubling the controller for safer handling of stored data, channels for accessing each of the physical disks from each of the doubled controllers need to be provided. Thus, cost of the storage system is increased. In the case where one of the physical disks fails, even when other disks have plenty of unused areas, these unused areas cannot be used to substitute for the failed physical disk due to RAID 1 restrictions. For this reason, a spare physical disk has to be prepared.
For controlling storage systems, there is a system that performs storage control operations at a host computer side using the same interface used for data reading and writing. There is another system for performing control operations, which uses an interface different from the one used for data reading and writing without depending on a host computer. The first system can perform storage control operations in conjunction with applications installed in the host computer, but the storage control operations cannot be performed when the host computer is not in operation. On the other hand, the latter system can independently perform storage control operations without depending on the host computer, but the storage control operations cannot be performed in conjunction with applications installed in the host computer.
In view of these disadvantages, Japanese Patent Laid-Open Publication No. 2002-268825 discloses a system provided with a storage control server having interfaces to both a host computer and a storage system to allow storage control operations by the server.
In most cases, clients that access data stored in a storage system via a network do not know the reliability level of the storage system. Therefore, the clients have to backup their data in case of unexpected events. If data are frequently updated, the clients may need to backup each time the data are updated. Such frequent backup operations might be a troublesome task.
To eliminate the need for data backup by clients, there is proposed a system having storage devices of various reliability levels such that data are stored in the most suitable one of the storage devices according to reliability level information added to the data (see Japanese Patent Laid-Open Publication No. 2002-244922 paragraph number 0012 through 0021, FIG. 1). Even if the reliability level information is changed when a client refers to or updates the data, the most suitable on one of the storage devices is selected according to the changed information.
However, neither of the systems disclosed in the publications can completely solve the problems including controller doubling, cost increase due to communication channels increased by the controller doubling, unused areas that cannot be used in a storage system having storage devices of different capacities, and necessity of spare physical disks.